﻿using System;

namespace XEvolve.Core.Runtime.Generic
{
    public abstract class Platform
    {
        [ThreadStatic] private static Platform current;

        public static void Initialize<Implementation>() where Implementation : Platform, new ()
        {
            current = new Implementation();
        }

        public static Platform Current { get {return current;} }
    }
    
}
